home *** CD-ROM | disk | FTP | other *** search
/ Aminet 48 / Aminet 48 (2002)(GTI - Schatztruhe)[!][Apr 2002].iso / Aminet / text / edit / vim60rt.lha / Vim / vim60 / makemenu.vim < prev    next >
Encoding:
Text File  |  2001-09-24  |  10.4 KB  |  370 lines

  1. " Script to define the syntax menu in menu.vim
  2. " Maintainer:    Bram Moolenaar <Bram@vim.org>
  3. " Last Change:    2001 Sep 24
  4.  
  5. " This is used by "make menu" in the src directory.
  6. edit <sfile>:p:h/menu.vim
  7.  
  8. /The Start Of The Syntax Menu/+1,/The End Of The Syntax Menu/-1d
  9. let s:lnum = line(".") - 1
  10. call append(s:lnum, "")
  11. let s:lnum = s:lnum + 1
  12.  
  13. " Use the SynMenu command and function to define all menu entries
  14. command! -nargs=* SynMenu call <SID>Syn(<q-args>)
  15.  
  16. let s:cur_menu_name = ""
  17. let s:cur_menu_nr = 0
  18. let s:cur_menu_item = 0
  19. let s:cur_menu_char = ""
  20.  
  21. fun! <SID>Syn(arg)
  22.   " isolate menu name: until the first dot
  23.   let i = match(a:arg, '\.')
  24.   let menu_name = strpart(a:arg, 0, i)
  25.   let r = strpart(a:arg, i + 1, 999)
  26.   " isolate submenu name: until the colon
  27.   let i = match(r, ":")
  28.   let submenu_name = strpart(r, 0, i)
  29.   " after the colon is the syntax name
  30.   let syntax_name = strpart(r, i + 1, 999)
  31.  
  32.   if s:cur_menu_name != menu_name
  33.     let s:cur_menu_name = menu_name
  34.     let s:cur_menu_nr = s:cur_menu_nr + 10
  35.     let s:cur_menu_item = 100
  36.     let s:cur_menu_char = submenu_name[0]
  37.   else
  38.     " When starting a new letter, insert a menu separator.
  39.     let c = submenu_name[0]
  40.     if c != s:cur_menu_char
  41.       exe 'am 50.' . s:cur_menu_nr . '.' . s:cur_menu_item . ' &Syntax.' . menu_name . ".-" . c . '- <nul>'
  42.       let s:cur_menu_item = s:cur_menu_item + 10
  43.       let s:cur_menu_char = c
  44.     endif
  45.   endif
  46.   call append(s:lnum, 'am 50.' . s:cur_menu_nr . '.' . s:cur_menu_item . ' &Syntax.' . menu_name . "." . submenu_name . ' :cal SetSyn("' . syntax_name . '")<CR>')
  47.   let s:cur_menu_item = s:cur_menu_item + 10
  48.   let s:lnum = s:lnum + 1
  49. endfun
  50.  
  51. SynMenu AB.Abaqus:abaqus
  52. SynMenu AB.ABC:abc
  53. SynMenu AB.ABEL:abel
  54. SynMenu AB.Ada:ada
  55. SynMenu AB.Aflex:aflex
  56. SynMenu AB.AHDL:ahdl
  57. SynMenu AB.Amiga\ DOS:amiga
  58. SynMenu AB.Antlr:antlr
  59. SynMenu AB.Apache\ config:apache
  60. SynMenu AB.Apache-style\ config:apachestyle
  61. SynMenu AB.Applix\ ELF:elf
  62. SynMenu AB.Arc\ Macro\ Language:aml
  63. SynMenu AB.ASP\ with\ VBSages:aspvbs
  64. SynMenu AB.ASP\ with\ Perl:aspperl
  65. SynMenu AB.Assembly.680x0:asm68k
  66. SynMenu AB.Assembly.GNU:asm
  67. SynMenu AB.Assembly.H8300:asmh8300
  68. SynMenu AB.Assembly.Intel\ Itanium:ia64
  69. SynMenu AB.Assembly.Microsoft:masm
  70. SynMenu AB.Assembly.Netwide:nasm
  71. SynMenu AB.Assembly.PIC:pic
  72. SynMenu AB.Assembly.Turbo:tasm
  73. SynMenu AB.Assembly.Z-80:z8a
  74. SynMenu AB.ASN\.1:asn
  75. SynMenu AB.Atlas:atlas
  76. SynMenu AB.Automake:automake
  77. SynMenu AB.Avenue:ave
  78. SynMenu AB.Awk:awk
  79. SynMenu AB.Ayacc:ayacc
  80. SynMenu AB.B:b
  81. SynMenu AB.BASIC:basic
  82. SynMenu AB.BC\ calculator:bc
  83. SynMenu AB.BDF\ font:bdf
  84. SynMenu AB.BibFile:bib
  85. SynMenu AB.BIND\ configuration:named
  86. SynMenu AB.BIND\ zone:bindzone
  87. SynMenu AB.Blank:blank
  88.  
  89. SynMenu CD.C:c
  90. SynMenu CD.C++:cpp
  91. SynMenu CD.Crontab:crontab
  92. SynMenu CD.Cyn++:cynpp
  93. SynMenu CD.Cynlib:cynlib
  94. SynMenu CD.Cascading\ Style\ Sheets:css
  95. SynMenu CD.Century\ Term:cterm
  96. SynMenu CD.CFG:cfg
  97. SynMenu CD.CHILL:ch
  98. SynMenu CD.Change:change
  99. SynMenu CD.ChangeLog:changelog
  100. SynMenu CD.Clean:clean
  101. SynMenu CD.Clever:cl
  102. SynMenu CD.Clipper:clipper
  103. SynMenu CD.Cold\ Fusion:cf
  104. SynMenu CD.Configure\ script:config
  105. SynMenu CD.Csh\ shell\ script:csh
  106. SynMenu CD.Ctrl-H:ctrlh
  107. SynMenu CD.Cobol:cobol
  108. SynMenu CD.CSP:csp
  109. SynMenu CD.CUPL.CUPL:cupl
  110. SynMenu CD.CUPL.simulation:cuplsim
  111. SynMenu CD.CVS\ commit:cvs
  112. SynMenu CD.CWEB:cweb
  113. SynMenu CD.Debian.Debian\ ChangeLog:debchangelog
  114. SynMenu CD.Debian.Debian\ Control:debcontrol
  115. SynMenu CD.Diff:diff
  116. SynMenu CD.Digital\ Command\ Lang:dcl
  117. SynMenu CD.Diva\ (with\ SKILL):diva
  118. SynMenu CD.DNS:dns
  119. SynMenu CD.DOT:dto
  120. SynMenu CD.Dracula:dracula
  121. SynMenu CD.DSSSL:dsl
  122. SynMenu CD.DTD:dtd
  123. SynMenu CD.DTML\ (Zope):dtml
  124. SynMenu CD.Dylan.Dylan:dylan
  125. SynMenu CD.Dylan.Dylan\ intr:dylanintr
  126. SynMenu CD.Dylan.Dylan\ lid:dylanlid
  127.  
  128. SynMenu EFG.Eiffel:eiffel
  129. SynMenu EFG.Elm\ Filter:elmfilt
  130. SynMenu EFG.Embedix\ Component\ Description:ecd
  131. SynMenu EFG.ERicsson\ LANGuage:erlang
  132. SynMenu EFG.ESQL-C:esqlc
  133. SynMenu EFG.Eterm\ config:eterm
  134. SynMenu EFG.Expect:expect
  135. SynMenu EFG.Exports:exports
  136. SynMenu EFG.Focus\ Executable:focexec
  137. SynMenu EFG.Focus\ Master:master
  138. SynMenu EFG.FORM:form
  139. SynMenu EFG.Forth:forth
  140. SynMenu EFG.Fortran:fortran
  141. SynMenu EFG.FoxPro:foxpro
  142. SynMenu EFG.Fvwm\ configuration:fvwm1
  143. SynMenu EFG.Fvwm2\ configuration:fvwm2
  144. SynMenu EFG.GDB\ command\ file:gdb
  145. SynMenu EFG.GDMO:gdmo
  146. SynMenu EFG.Gedcom:gedcom
  147. SynMenu EFG.GP:gp
  148. SynMenu EFG.GNU\ Server\ Pages:gsp
  149. SynMenu EFG.GNUplot:gnuplot
  150. SynMenu EFG.GTKrc:gtkrc
  151.  
  152. SynMenu HIJK.Haskell:haskell
  153. SynMenu HIJK.Haskell-literate:lhaskell
  154. SynMenu HIJK.Hercules:hercules
  155. SynMenu HIJK.HTML:html
  156. SynMenu HIJK.HTML\ with\ M4:htmlm4
  157. SynMenu HIJK.HTML/OS:htmlos
  158. SynMenu HIJK.Hyper\ Builder:hb
  159. SynMenu HIJK.Icon:icon
  160. SynMenu HIJK.IDL:idl
  161. SynMenu HIJK.Indent\ profile:indent
  162. SynMenu HIJK.Inform:inform
  163. SynMenu HIJK.Informix\ 4GL:fgl
  164. SynMenu HIJK.Inittab:inittab
  165. SynMenu HIJK.Inno\ Setup:iss
  166. SynMenu HIJK.InstallShield\ Rules:ishd
  167. SynMenu HIJK.Interactive\ Data\ Lang:idlang
  168. SynMenu HIJK.Jam:jam
  169. SynMenu HIJK.Jargon:jargon
  170. SynMenu HIJK.Java.Java:java
  171. SynMenu HIJK.Java.JavaCC:javacc
  172. SynMenu HIJK.Java.Java\ Server\ Pages:jsp
  173. SynMenu HIJK.Java.Java\ Properties:jproperties
  174. SynMenu HIJK.JavaScript:javascript
  175. SynMenu HIJK.Jess:jess
  176. SynMenu HIJK.Jgraph:jgraph
  177. SynMenu HIJK.KDE\ script:kscript
  178. SynMenu HIJK.Kimwitu:kwt
  179. SynMenu HIJK.Kixtart:kix
  180.  
  181. SynMenu L-Ma.Lace:lace
  182. SynMenu L-Ma.Lamda\ Prolog:lprolog
  183. SynMenu L-Ma.Latte:latte
  184. SynMenu L-Ma.Lex:lex
  185. SynMenu L-Ma.LFTP:lftp
  186. SynMenu L-Ma.Lilo:lilo
  187. SynMenu L-Ma.Lisp:lisp
  188. SynMenu L-Ma.Lite:lite
  189. SynMenu L-Ma.LOTOS:lotos
  190. SynMenu L-Ma.Lout:lout
  191. SynMenu L-Ma.Lua:lua
  192. SynMenu L-Ma.Lynx\ Style:lss
  193. SynMenu L-Ma.Lynx\ config:lynx
  194. SynMenu L-Ma.M4:m4
  195. SynMenu L-Ma.MaGic\ Point:mgp
  196. SynMenu L-Ma.Mail:mail
  197. SynMenu L-Ma.Makefile:make
  198. SynMenu L-Ma.MakeIndex:ist
  199. SynMenu L-Ma.Man\ page:man
  200. SynMenu L-Ma.Maple:maple
  201. SynMenu L-Ma.Mason:mason
  202. SynMenu L-Ma.Mathematica:mma
  203. SynMenu L-Ma.Matlab:matlab
  204.  
  205. SynMenu Me-NO.MEL\ (for\ Maya):mel
  206. SynMenu Me-NO.Metafont:mf
  207. SynMenu Me-NO.MetaPost:mp
  208. SynMenu Me-NO.MS\ Module\ Definition:def
  209. SynMenu Me-NO.Model:model
  210. SynMenu Me-NO.Modsim\ III:modsim3
  211. SynMenu Me-NO.Modula\ 2:modula2
  212. SynMenu Me-NO.Modula\ 3:modula3
  213. SynMenu Me-NO.Msql:msql
  214. SynMenu Me-NO.MS-DOS.MS-DOS\ \.bat\ file:dosbatch
  215. SynMenu Me-NO.MS-DOS.4DOS\ \.bat\ file:btm
  216. SynMenu Me-NO.MS-DOS.MS-DOS\ \.ini\ file:dosini
  217. SynMenu Me-NO.MS\ Resource\ file:rc
  218. SynMenu Me-NO.Mush:mush
  219. SynMenu Me-NO.Muttrc:muttrc
  220. SynMenu Me-NO.Nastran\ input/DMAP:nastran
  221. SynMenu Me-NO.Natural:natural
  222. SynMenu Me-NO.Novell\ batch:ncf
  223. SynMenu Me-NO.Not\ Quite\ C:nqc
  224. SynMenu Me-NO.Nroff:nroff
  225. SynMenu Me-NO.Objective\ C:objc
  226. SynMenu Me-NO.OCAML:ocaml
  227. SynMenu Me-NO.Omnimark:omnimark
  228. SynMenu Me-NO.OpenROAD:openroad
  229. SynMenu Me-NO.Open\ Psion\ Lang:opl
  230. SynMenu Me-NO.Oracle\ config:ora
  231.  
  232. SynMenu PQ.Palm\ resource\ compiler:pilrc
  233. SynMenu PQ.PApp:papp
  234. SynMenu PQ.Pascal:pascal
  235. SynMenu PQ.PCCTS:pccts
  236. SynMenu PQ.PPWizard:ppwiz
  237. SynMenu PQ.Perl.Perl:perl
  238. SynMenu PQ.Perl.Perl\ POD:pod
  239. SynMenu PQ.Perl.Perl\ XS:xs
  240. SynMenu PQ.PHP\ 3-4:php
  241. SynMenu PQ.Phtml:phtml
  242. SynMenu PQ.Pike:pike
  243. SynMenu PQ.Pine\ RC:pine
  244. SynMenu PQ.PL/M:plm
  245. SynMenu PQ.PL/SQL:plsql
  246. SynMenu PQ.PO\ (GNU\ gettext):po
  247. SynMenu PQ.Postfix\ main\ config:pfmain
  248. SynMenu PQ.PostScript:postscr
  249. SynMenu PQ.Povray:pov
  250. SynMenu PQ.Povray\ configuration:povini
  251. SynMenu PQ.Printcap:pcap
  252. SynMenu PQ.Procmail:procmail
  253. SynMenu PQ.Product\ Spec\ File:psf
  254. SynMenu PQ.Progress:progress
  255. SynMenu PQ.Prolog:prolog
  256. SynMenu PQ.Purify\ log:purifylog
  257. SynMenu PQ.Python:python
  258.  
  259. SynMenu R-Sg.R:r
  260. SynMenu R-Sg.Radiance:radiance
  261. SynMenu R-Sg.Ratpoison:ratpoison
  262. SynMenu R-Sg.Readline\ config:readline
  263. SynMenu R-Sg.RCS\ log\ output:rcslog
  264. SynMenu R-Sg.Rebol:rebol
  265. SynMenu R-Sg.Registry\ of\ MS-Windows:registry
  266. SynMenu R-Sg.Remind:remind
  267. SynMenu R-Sg.Renderman\ Shader\ Lang:sl
  268. SynMenu R-Sg.Rexx:rexx
  269. SynMenu R-Sg.Robots\.txt:robots
  270. SynMenu R-Sg.Rpcgen:rpcgen
  271. SynMenu R-Sg.RTF:rtf
  272. SynMenu R-Sg.Ruby:ruby
  273. SynMenu R-Sg.S-lang:slang
  274. SynMenu R-Sg.Samba\ config:samba
  275. SynMenu R-Sg.SAS:sas
  276. SynMenu R-Sg.Sather:sather
  277. SynMenu R-Sg.Scheme:scheme
  278. SynMenu R-Sg.Screen\ RC:screen
  279. SynMenu R-Sg.SDL:sdl
  280. SynMenu R-Sg.Sed:sed
  281. SynMenu R-Sg.Sendmail\.cf:sm
  282. SynMenu R-Sg.SGML.SGML\ catalog:catalog
  283. SynMenu R-Sg.SGML.SGML\ DTD:sgml
  284. SynMenu R-Sg.SGML.SGML\ Declarations:sgmldecl
  285. SynMenu R-Sg.SGML.SGML\ linuxdoc:sgmllnx
  286.  
  287. SynMenu Sh-S.Sh\ shell\ script:sh
  288. SynMenu Sh-S.SiCAD:sicad
  289. SynMenu Sh-S.Simula:simula
  290. SynMenu Sh-S.Sinda.Sinda\ compare:sindacmp
  291. SynMenu Sh-S.Sinda.Sinda\ input:sinda
  292. SynMenu Sh-S.Sinda.Sinda\ output:sindaout
  293. SynMenu Sh-S.SKILL:skill
  294. SynMenu Sh-S.SLRN.SLRN\ rc:slrnrc
  295. SynMenu Sh-S.SLRN.SLRN\ score:slrnsc
  296. SynMenu Sh-S.SmallTalk:st
  297. SynMenu Sh-S.SMIL:smil
  298. SynMenu Sh-S.SMITH:smith
  299. SynMenu Sh-S.SNMP\ MIB:mib
  300. SynMenu Sh-S.SNNS.SNNS\ network:snnsnet
  301. SynMenu Sh-S.SNNS.SNNS\ pattern:snnspat
  302. SynMenu Sh-S.SNNS.SNNS\ result:snnsres
  303. SynMenu Sh-S.Snobol4:snobol4
  304. SynMenu Sh-S.Snort\ Configuration:hog
  305. SynMenu Sh-S.SPEC\ (Linux\ RPM):spec
  306. SynMenu Sh-S.Specman:specman
  307. SynMenu Sh-S.Spice:spice
  308. SynMenu Sh-S.Speedup:spup
  309. SynMenu Sh-S.Squid:squid
  310. SynMenu Sh-S.SQL:sql
  311. SynMenu Sh-S.SQL\ Forms:sqlforms
  312. SynMenu Sh-S.SQR:sqr
  313. SynMenu Sh-S.Standard\ ML:sml
  314. SynMenu Sh-S.Stored\ Procedures:stp
  315. SynMenu Sh-S.Strace:strace
  316.  
  317. SynMenu TUV.Tads:tads
  318. SynMenu TUV.Tags:tags
  319. SynMenu TUV.TAK.TAK\ compare:tak
  320. SynMenu TUV.TAK.TAK\ input:tak
  321. SynMenu TUV.TAK.TAK\ output:takout
  322. SynMenu TUV.Tcl/Tk:tcl
  323. SynMenu TUV.TealInfo:tli
  324. SynMenu TUV.Telix\ Salt:tsalt
  325. SynMenu TUV.Termcap:ptcap
  326. SynMenu TUV.Terminfo:terminfo
  327. SynMenu TUV.TeX:tex
  328. SynMenu TUV.TeX\ configuration:texmf
  329. SynMenu TUV.Texinfo:texinfo
  330. SynMenu TUV.TF\ mud\ client:tf
  331. SynMenu TUV.Tidy\ configuration:tidy
  332. SynMenu TUV.Trasys\ input:trasys
  333. SynMenu TUV.TSS.Command\ Line:tsscl
  334. SynMenu TUV.TSS.Geometry:tssgm
  335. SynMenu TUV.TSS.Optics:tssop
  336. SynMenu TUV.UIT/UIL:uil
  337. SynMenu TUV.UnrealScript:uc
  338. SynMenu TUV.Verilog\ HDL:verilog
  339. SynMenu TUV.Vgrindefs:vgrindefs
  340. SynMenu TUV.VHDL:vhdl
  341. SynMenu TUV.Vim.Vim\ help\ file:help
  342. SynMenu TUV.Vim.Vim\ script:vim
  343. SynMenu TUV.Vim.Viminfo\ file:viminfo
  344. SynMenu TUV.Virata:virata
  345. SynMenu TUV.Visual\ Basic:vb
  346. SynMenu TUV.VRML:vrml
  347. SynMenu TUV.VSE\ JCL:vsejcl
  348.  
  349. SynMenu WXYZ.WEB:web
  350. SynMenu WXYZ.Webmacro:webmacro
  351. SynMenu WXYZ.Website\ MetaLanguage:wml
  352. SynMenu WXYZ.Wdiff:wdiff
  353. SynMenu WXYZ.Wget\ config:wget
  354. SynMenu WXYZ.Whitespace\ (add):whitespace
  355. SynMenu WXYZ.WinBatch/Webbatch:winbatch
  356. SynMenu WXYZ.Windows\ Scripting\ Host:wsh
  357. SynMenu WXYZ.X\ Keyboard\ Extension:xkb
  358. SynMenu WXYZ.X\ Pixmap:xpm
  359. SynMenu WXYZ.X\ Pixmap\ (2):xpm2
  360. SynMenu WXYZ.X\ resources:xdefaults
  361. SynMenu WXYZ.Xmath:xmath
  362. SynMenu WXYZ.XML:xml
  363. SynMenu WXYZ.XXD\ hex\ dump:xxd
  364. SynMenu WXYZ.Yacc:yacc
  365. SynMenu WXYZ.Zsh\ shell\ script:zsh
  366.  
  367. call append(s:lnum, "")
  368.  
  369. wq
  370.